/**
 * Project Name:sys-mng
 * File Name:DateUtil.java
 * Package Name:com.linc.usermanager.util
 * Date:2014年11月21日下午3:22:48
 * Copyright @ 2010-2014 上海企垠信息科技有限公司  All Rights Reserved.
 *
 */

package cn.alise.util;

import java.text.DecimalFormat;


/**
 * ClassName:FormatUtil <br/>
 * Description: 类型转换工具类 <br/>
 * Date: 2016年12月31日 下午1:12:38 <br/>
 *
 * @author 陈昊
 * @version 1.0
 * @since JDK 1.7
 * @see
 */
public class FormatUtil {
	
	/**
	 * （废弃）传入数字，除以10000以后，如果该数字带小数，则返回小数（最多四位小数），没有小数则返回整数
	 * 传入数字保留4位小数
	 * @param date
	 * @param locale
	 * @param pattern
	 * @return
	 */
	public static String formatNumber(Long number) {
		
		String returnNum = "";
	    
		// 将数字转为double后除以10000
		Double d = number.doubleValue();
		d = d / 10000;
		
		// 转为String
		String s = d.toString();
		
		// 判断有无小数点，及有几位小数
		int slength = s.length()-1;//数字长度
		int spoint = s.indexOf(".");//小数点的位置
		int num = slength - spoint;//几位小数
		
		if (num >= 4) {
			DecimalFormat df = new DecimalFormat("0.0000"); 
			returnNum = df.format(d);
		} else if (num == 3) {
			DecimalFormat df = new DecimalFormat("0.000"); 
			returnNum = df.format(d);
			returnNum = returnNum + "0";
		} else if (num == 2) {
			DecimalFormat df = new DecimalFormat("0.00"); 
			returnNum = df.format(d);
			returnNum = returnNum + "00";
		} else if (num == 1) {
//			// 判断是不是一位小数且最后一位是不是0，为0就显示整数
//			String last = s.substring(spoint+1,spoint+2);
//			if ("0".equals(last)) {
//				returnNum = s.substring(0,spoint);
//			} else {
//				DecimalFormat df = new DecimalFormat("0.0"); 
//				returnNum = df.format(d);
//			}
			DecimalFormat df = new DecimalFormat("0.0"); 
			returnNum = df.format(d);
			returnNum = returnNum + "000";
		} else {
			returnNum = s + "0000";
		}
		
	    return returnNum;
	}
}
